package cn.px.dao.dto.sb;

import cn.px.common.bean.BaseDTO;
import cn.px.common.validation.group.UpdateGroup;
import cn.px.dao.entity.fill.FillExecute;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @Description 设备巡检填报记录DTO
 * @author 品讯科技
 * @date 2024-08
 * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class SbInspectionFillDTO extends BaseDTO implements Serializable {

    /**
     * 主键
     */
    @NotNull(groups = {UpdateGroup.class}, message = "ID不能为空")
    private String id;
    /**
     * 设备ID
     */
    private String sbId;
    /**
     * 设备编号
     */
    private String sbNo;
    /**
     * 设备名称
     */
    private String sbName;
    /**
     * 执行ID
     */
    private String executeId;

    /**
     * 所属部门
     */
    private String deptId;

    /**
     * 插入标识，区分同一时间填写的
     */
    private String insertId;
    /**
     * 创建人
     */
    private String createdUserId;
    /**
     * 创建人名称
     */
    private String createdUserName;
    /**
     * 更新人
     */
    private String updateUserId;
    /**
     * 更新人名称
     */
    private String updateUserName;
    /**
     * 创建日期
     */
    private LocalDateTime createdTime;
    /**
     * 创建日期开始
     */
    private LocalDateTime createdTimeStart;
    /**
     * 创建日期结束
     */
    private LocalDateTime createdTimeEnd;
    /**
     * 修改时间
     */
    private LocalDateTime updateTime;
    /**
     * 修改时间开始
     */
    private LocalDateTime updateTimeStart;
    /**
     * 修改时间结束
     */
    private LocalDateTime updateTimeEnd;
    /**
     * 关键字
     */
    private String keyword;

    /**
     * 填报内容
     */
    private List<FillExecute> fillInfoList;

    /**
     * 设备型号
     */
    private String modelId;


    /**
     * 填报时间
     */
    private LocalDate fillDate;
}
